/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package BoardGameToTreeIntegration.Rules.impl;

import BoardGame.BoardGamePackage;

import BoardGameToTreeIntegration.BoardGameToTreeIntegrationPackage;

import BoardGameToTreeIntegration.Rules.BoardRule;
import BoardGameToTreeIntegration.Rules.FieldRule;
import BoardGameToTreeIntegration.Rules.RowFieldRule;
import BoardGameToTreeIntegration.Rules.RulesFactory;
import BoardGameToTreeIntegration.Rules.RulesPackage;

import BoardGameToTreeIntegration.impl.BoardGameToTreeIntegrationPackageImpl;

import GameRules.GameRulesPackage;

import MocaTree.MocaTreePackage;

import TGGRuntime.TGGRuntimePackage;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.impl.EPackageImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class RulesPackageImpl extends EPackageImpl implements RulesPackage {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass boardRuleEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass fieldRuleEClass = null;

	/**
	 * Creates an instance of the model <b>Package</b>, registered with
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
	 * package URI value.
	 * <p>Note: the correct way to create the package is via the static
	 * factory method {@link #init init()}, which also performs
	 * initialization of the package, or returns the registered package,
	 * if one already exists.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.ecore.EPackage.Registry
	 * @see BoardGameToTreeIntegration.Rules.RulesPackage#eNS_URI
	 * @see #init()
	 * @generated
	 */
	private RulesPackageImpl() {
		super(eNS_URI, RulesFactory.eINSTANCE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static boolean isInited = false;

	/**
	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
	 * 
	 * <p>This method is used to initialize {@link RulesPackage#eINSTANCE} when that field is accessed.
	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #eNS_URI
	 * @see #createPackageContents()
	 * @see #initializePackageContents()
	 * @generated
	 */
	public static RulesPackage init() {
		if (isInited)
			return (RulesPackage) EPackage.Registry.INSTANCE
					.getEPackage(RulesPackage.eNS_URI);

		// Obtain or create and register package
		RulesPackageImpl theRulesPackage = (RulesPackageImpl) (EPackage.Registry.INSTANCE
				.get(eNS_URI) instanceof RulesPackageImpl ? EPackage.Registry.INSTANCE
				.get(eNS_URI) : new RulesPackageImpl());

		isInited = true;

		// Initialize simple dependencies
		GameRulesPackage.eINSTANCE.eClass();

		// Obtain or create and register interdependencies
		BoardGameToTreeIntegrationPackageImpl theBoardGameToTreeIntegrationPackage = (BoardGameToTreeIntegrationPackageImpl) (EPackage.Registry.INSTANCE
				.getEPackage(BoardGameToTreeIntegrationPackage.eNS_URI) instanceof BoardGameToTreeIntegrationPackageImpl ? EPackage.Registry.INSTANCE
				.getEPackage(BoardGameToTreeIntegrationPackage.eNS_URI)
				: BoardGameToTreeIntegrationPackage.eINSTANCE);

		// Create package meta-data objects
		theRulesPackage.createPackageContents();
		theBoardGameToTreeIntegrationPackage.createPackageContents();

		// Initialize created meta-data
		theRulesPackage.initializePackageContents();
		theBoardGameToTreeIntegrationPackage.initializePackageContents();

		// Mark meta-data to indicate it can't be changed
		theRulesPackage.freeze();

		// Update the registry and return the package
		EPackage.Registry.INSTANCE.put(RulesPackage.eNS_URI, theRulesPackage);
		return theRulesPackage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getBoardRule() {
		return boardRuleEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getBoardRule__Perform_FWD_Board_0__Board() {
		return boardRuleEClass.getEOperations().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getBoardRule__IsAppropriate_FWD_Board_0__Board() {
		return boardRuleEClass.getEOperations().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getBoardRule__Perform_BWD_File_0__File() {
		return boardRuleEClass.getEOperations().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getBoardRule__IsAppropriate_BWD_File_0__File() {
		return boardRuleEClass.getEOperations().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getBoardRule__Perform_BWD_Node_0__Node() {
		return boardRuleEClass.getEOperations().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getBoardRule__IsAppropriate_BWD_Node_0__Node() {
		return boardRuleEClass.getEOperations().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getFieldRule() {
		return fieldRuleEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getFieldRule__Perform_FWD_Field_0__Field() {
		return fieldRuleEClass.getEOperations().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getFieldRule__IsAppropriate_FWD_Field_0__Field() {
		return fieldRuleEClass.getEOperations().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getFieldRule__Perform_BWD_Node_1__Node() {
		return fieldRuleEClass.getEOperations().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getFieldRule__IsAppropriate_BWD_Node_1__Node() {
		return fieldRuleEClass.getEOperations().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getFieldRule__Perform_BWD_Node_2__Node() {
		return fieldRuleEClass.getEOperations().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getFieldRule__IsAppropriate_BWD_Node_2__Node() {
		return fieldRuleEClass.getEOperations().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public RulesFactory getRulesFactory() {
		return (RulesFactory) getEFactoryInstance();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isCreated = false;

	/**
	 * Creates the meta-model objects for the package.  This method is
	 * guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void createPackageContents() {
		if (isCreated)
			return;
		isCreated = true;

		// Create classes and their features
		boardRuleEClass = createEClass(BOARD_RULE);
		createEOperation(boardRuleEClass,
				BOARD_RULE___PERFORM_FWD_BOARD_0__BOARD);
		createEOperation(boardRuleEClass,
				BOARD_RULE___IS_APPROPRIATE_FWD_BOARD_0__BOARD);
		createEOperation(boardRuleEClass, BOARD_RULE___PERFORM_BWD_FILE_0__FILE);
		createEOperation(boardRuleEClass,
				BOARD_RULE___IS_APPROPRIATE_BWD_FILE_0__FILE);
		createEOperation(boardRuleEClass, BOARD_RULE___PERFORM_BWD_NODE_0__NODE);
		createEOperation(boardRuleEClass,
				BOARD_RULE___IS_APPROPRIATE_BWD_NODE_0__NODE);

		fieldRuleEClass = createEClass(FIELD_RULE);
		createEOperation(fieldRuleEClass,
				FIELD_RULE___PERFORM_FWD_FIELD_0__FIELD);
		createEOperation(fieldRuleEClass,
				FIELD_RULE___IS_APPROPRIATE_FWD_FIELD_0__FIELD);
		createEOperation(fieldRuleEClass, FIELD_RULE___PERFORM_BWD_NODE_1__NODE);
		createEOperation(fieldRuleEClass,
				FIELD_RULE___IS_APPROPRIATE_BWD_NODE_1__NODE);
		createEOperation(fieldRuleEClass, FIELD_RULE___PERFORM_BWD_NODE_2__NODE);
		createEOperation(fieldRuleEClass,
				FIELD_RULE___IS_APPROPRIATE_BWD_NODE_2__NODE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isInitialized = false;

	/**
	 * Complete the initialization of the package and its meta-model.  This
	 * method is guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void initializePackageContents() {
		if (isInitialized)
			return;
		isInitialized = true;

		// Initialize package
		setName(eNAME);
		setNsPrefix(eNS_PREFIX);
		setNsURI(eNS_URI);

		// Obtain other dependent packages
		TGGRuntimePackage theTGGRuntimePackage = (TGGRuntimePackage) EPackage.Registry.INSTANCE
				.getEPackage(TGGRuntimePackage.eNS_URI);
		BoardGamePackage theBoardGamePackage = (BoardGamePackage) EPackage.Registry.INSTANCE
				.getEPackage(BoardGamePackage.eNS_URI);
		MocaTreePackage theMocaTreePackage = (MocaTreePackage) EPackage.Registry.INSTANCE
				.getEPackage(MocaTreePackage.eNS_URI);

		// Create type parameters

		// Set bounds for type parameters

		// Add supertypes to classes
		boardRuleEClass.getESuperTypes().add(
				theTGGRuntimePackage.getAbstractRule());
		fieldRuleEClass.getESuperTypes().add(
				theTGGRuntimePackage.getAbstractRule());

		// Initialize classes, features, and operations; add parameters
		initEClass(boardRuleEClass, BoardRule.class, "BoardRule", !IS_ABSTRACT,
				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		EOperation op = initEOperation(
				getBoardRule__Perform_FWD_Board_0__Board(),
				theTGGRuntimePackage.getPerformRuleResult(),
				"perform_FWD_Board_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBoardGamePackage.getBoard(), "board", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getBoardRule__IsAppropriate_FWD_Board_0__Board(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Board_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBoardGamePackage.getBoard(), "board", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getBoardRule__Perform_BWD_File_0__File(),
				theTGGRuntimePackage.getPerformRuleResult(),
				"perform_BWD_File_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getFile(), "file", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getBoardRule__IsAppropriate_BWD_File_0__File(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_File_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getFile(), "file", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getBoardRule__Perform_BWD_Node_0__Node(),
				theTGGRuntimePackage.getPerformRuleResult(),
				"perform_BWD_Node_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "root", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getBoardRule__IsAppropriate_BWD_Node_0__Node(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_Node_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "root", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		initEClass(fieldRuleEClass, FieldRule.class, "FieldRule", !IS_ABSTRACT,
				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		op = initEOperation(getFieldRule__Perform_FWD_Field_0__Field(),
				theTGGRuntimePackage.getPerformRuleResult(),
				"perform_FWD_Field_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBoardGamePackage.getField(), "row", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getFieldRule__IsAppropriate_FWD_Field_0__Field(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Field_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBoardGamePackage.getField(), "row", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getFieldRule__Perform_BWD_Node_1__Node(),
				theTGGRuntimePackage.getPerformRuleResult(),
				"perform_BWD_Node_1", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "rowNode", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getFieldRule__IsAppropriate_BWD_Node_1__Node(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_Node_1", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "rowNode", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getFieldRule__Perform_BWD_Node_2__Node(),
				theTGGRuntimePackage.getPerformRuleResult(),
				"perform_BWD_Node_2", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "field", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getFieldRule__IsAppropriate_BWD_Node_2__Node(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_Node_2", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "field", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		// Create annotations
		// TGGRule
		createTGGRuleAnnotations();
		// SDM
		createSDMAnnotations();
	}

	/**
	 * Initializes the annotations for <b>TGGRule</b>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected void createTGGRuleAnnotations() {
		String source = "TGGRule";
		addAnnotation(boardRuleEClass, source, new String[] {});
		addAnnotation(boardRuleEClass, source, new String[] {});
		addAnnotation(boardRuleEClass, source, new String[] {});
		addAnnotation(fieldRuleEClass, source, new String[] {});
		addAnnotation(fieldRuleEClass, source, new String[] {});
		addAnnotation(fieldRuleEClass, source, new String[] {});
	}

	/**
	 * Initializes the annotations for <b>SDM</b>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected void createSDMAnnotations() {
		String source = "SDM";
		addAnnotation(
				getBoardRule__Perform_FWD_Board_0__Board(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect translated elements\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0 #//@ownedActivityNode.0/@storyPattern/@linkVariable.1 #//@ownedActivityNode.0/@storyPattern/@linkVariable.2 #//@ownedActivityNode.0/@storyPattern/@linkVariable.3 #//@ownedActivityNode.0/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\" name=\"file\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToFile\"\r\n          name=\"b2f\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.7\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"solve CSP\"\r\n      outgoing=\"#//@ownedActivityEdge.9\" incoming=\"#//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;Variable&lt;String> literal0 = CspFactory.eINSTANCE.createVariable(&quot;literal0&quot;, true, csp);&#xD;&#xA;literal0.setValue(&quot;BOARD&quot;);&#xD;&#xA;Variable&lt;Integer> literal1 = CspFactory.eINSTANCE.createVariable(&quot;literal1&quot;, true, csp);&#xD;&#xA;literal1.setValue(0);&#xD;&#xA;&#xD;&#xA;// Create implicit parameters&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;String> var_root_name = CspFactory.eINSTANCE.createVariable(&quot;root.name&quot;, csp);&#xD;&#xA;Variable&lt;Integer> var_root_index = CspFactory.eINSTANCE.createVariable(&quot;root.index&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();Eq&lt;Integer> eq_0 = new Eq&lt;Integer>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.solve(var_root_name,literal0);&#xD;&#xA;eq_0.solve(var_root_index,literal1);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"find context\"\r\n      outgoing=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.7\" incoming=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"String\" attribute=\"name\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"perform transformation\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.3\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1 #//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToFile\"\r\n          name=\"b2f\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/MocaTree#//TreeElement/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"var_root_name.getValue()\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment attribute=\"http://www.moflon.org/MocaTree#//TreeElement/index\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"var_root_index.getValue()\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3 #//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"file\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"String\" attribute=\"name\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"bookkeeping for edges\"\r\n      outgoing=\"#//@ownedActivityEdge.4\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0 #//@ownedActivityNode.6/@storyPattern/@linkVariable.3 #//@ownedActivityNode.6/@storyPattern/@linkVariable.6 #//@ownedActivityNode.6/@storyPattern/@linkVariable.9 #//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.2 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.5 #//@ownedActivityNode.6/@storyPattern/@linkVariable.8\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2f\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.7 #//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2n\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.13\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2f__source__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2f__source__board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2f__target__file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.3\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2f__target__file&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"root__file__file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.6\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.7 #//@ownedActivityNode.6/@storyPattern/@linkVariable.8\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;root__file__file&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2n__source__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.9\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2n__source__board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2n__target__root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.13 #//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2n__target__root&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"check\"\r\n      outgoing=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.9\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.8\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.8\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.3\"\r\n      guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.6\" target=\"#//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.9\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.4\"\r\n      guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.1\"\r\n      guard=\"END\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.8\" target=\"#//@ownedActivityNode.9\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.7\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getBoardRule__IsAppropriate_FWD_Board_0__Board(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"set success\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.1\" incoming=\"#//@ownedActivityEdge.2\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation\"\r\n          name=\"performOperation\" incomingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1 #//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"SDMLanguage.expressions:ComparisonExpression\"\r\n              operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\"\r\n                value=\"&quot;perform_FWD_Board_0&quot;\"/>\r\n            <leftExpression xsi:type=\"SDMLanguage.patterns.patternExpressions:AttributeValueExpression\"\r\n                object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" attribute=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass\"\r\n          name=\"eClass\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <bindingExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect elements to be translated\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"test core match\"\r\n      outgoing=\"#//@ownedActivityEdge.4 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingOperator=\"CREATE\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"String\" attribute=\"name\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect context nodes\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" bindingState=\"BOUND\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.4\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.1\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.5\" target=\"#//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.0\"\r\n      guard=\"END\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getBoardRule__Perform_BWD_File_0__File(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect translated elements\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0 #//@ownedActivityNode.0/@storyPattern/@linkVariable.1 #//@ownedActivityNode.0/@storyPattern/@linkVariable.2 #//@ownedActivityNode.0/@storyPattern/@linkVariable.3 #//@ownedActivityNode.0/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\" name=\"file\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToFile\"\r\n          name=\"b2f\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"createdElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.7\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"solve CSP\"\r\n      outgoing=\"#//@ownedActivityEdge.9\" incoming=\"#//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;Variable&lt;String> literal0 = CspFactory.eINSTANCE.createVariable(&quot;literal0&quot;, true, csp);&#xD;&#xA;literal0.setValue(&quot;BOARD&quot;);&#xD;&#xA;Variable&lt;Integer> literal1 = CspFactory.eINSTANCE.createVariable(&quot;literal1&quot;, true, csp);&#xD;&#xA;literal1.setValue(0);&#xD;&#xA;&#xD;&#xA;// Create implicit parameters&#xD;&#xA;Variable&lt;String> var_root_name = CspFactory.eINSTANCE.createVariable(&quot;root.name&quot;, true, csp);&#xD;&#xA;var_root_name.setValue(root.getName());&#xD;&#xA;Variable&lt;Integer> var_root_index = CspFactory.eINSTANCE.createVariable(&quot;root.index&quot;, true, csp);&#xD;&#xA;var_root_index.setValue(root.getIndex());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();Eq&lt;Integer> eq_0 = new Eq&lt;Integer>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.solve(var_root_name,literal0);&#xD;&#xA;eq_0.solve(var_root_index,literal1);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"find context\"\r\n      outgoing=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.7\" incoming=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"file\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"String\" attribute=\"name\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"perform transformation\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.3\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1 #//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToFile\"\r\n          name=\"b2f\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3 #//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"file\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED000574000E726F6F742E6765744E616D652829\"\r\n            type=\"String\" attribute=\"name\" objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED000574000F726F6F742E676574496E6465782829\"\r\n            type=\"Integer\" attribute=\"index\" objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"bookkeeping for edges\"\r\n      outgoing=\"#//@ownedActivityEdge.4\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0 #//@ownedActivityNode.6/@storyPattern/@linkVariable.3 #//@ownedActivityNode.6/@storyPattern/@linkVariable.6 #//@ownedActivityNode.6/@storyPattern/@linkVariable.9 #//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.2 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.5 #//@ownedActivityNode.6/@storyPattern/@linkVariable.7\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2f\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.8 #//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2n\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.13\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2f__source__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2f__source__board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2f__target__file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.3\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2f__target__file&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"root__file__file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.6\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.8 #//@ownedActivityNode.6/@storyPattern/@linkVariable.7\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;file&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2n__source__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.9\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2n__source__board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2n__target__root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.13 #//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2n__target__root&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"check\"\r\n      outgoing=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.9\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.8\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.8\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.3\"\r\n      guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.6\" target=\"#//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.9\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.4\"\r\n      guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.1\"\r\n      guard=\"END\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.8\" target=\"#//@ownedActivityNode.9\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.7\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getBoardRule__IsAppropriate_BWD_File_0__File(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"set success\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.1\" incoming=\"#//@ownedActivityEdge.2\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation\"\r\n          name=\"performOperation\" incomingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1 #//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"SDMLanguage.expressions:ComparisonExpression\"\r\n              operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\"\r\n                value=\"&quot;perform_BWD_File_0&quot;\"/>\r\n            <leftExpression xsi:type=\"SDMLanguage.patterns.patternExpressions:AttributeValueExpression\"\r\n                object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" attribute=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass\"\r\n          name=\"eClass\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <bindingExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect elements to be translated\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.1 #//@ownedActivityNode.2/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\" name=\"file\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.3\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.1 #//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"root__file__file\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.4\"\r\n          outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.3 #//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;file&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"test core match\"\r\n      outgoing=\"#//@ownedActivityEdge.4 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"file\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"String\" attribute=\"name\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect context nodes\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" bindingState=\"BOUND\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.4\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.1\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.5\" target=\"#//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.0\"\r\n      guard=\"END\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getBoardRule__Perform_BWD_Node_0__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect translated elements\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0 #//@ownedActivityNode.0/@storyPattern/@linkVariable.1 #//@ownedActivityNode.0/@storyPattern/@linkVariable.2 #//@ownedActivityNode.0/@storyPattern/@linkVariable.3 #//@ownedActivityNode.0/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\" name=\"file\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToFile\"\r\n          name=\"b2f\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"createdElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.7\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"solve CSP\"\r\n      outgoing=\"#//@ownedActivityEdge.9\" incoming=\"#//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;Variable&lt;String> literal0 = CspFactory.eINSTANCE.createVariable(&quot;literal0&quot;, true, csp);&#xD;&#xA;literal0.setValue(&quot;BOARD&quot;);&#xD;&#xA;Variable&lt;Integer> literal1 = CspFactory.eINSTANCE.createVariable(&quot;literal1&quot;, true, csp);&#xD;&#xA;literal1.setValue(0);&#xD;&#xA;&#xD;&#xA;// Create implicit parameters&#xD;&#xA;Variable&lt;String> var_root_name = CspFactory.eINSTANCE.createVariable(&quot;root.name&quot;, true, csp);&#xD;&#xA;var_root_name.setValue(root.getName());&#xD;&#xA;Variable&lt;Integer> var_root_index = CspFactory.eINSTANCE.createVariable(&quot;root.index&quot;, true, csp);&#xD;&#xA;var_root_index.setValue(root.getIndex());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();Eq&lt;Integer> eq_0 = new Eq&lt;Integer>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.solve(var_root_name,literal0);&#xD;&#xA;eq_0.solve(var_root_index,literal1);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"find context\"\r\n      outgoing=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.7\" incoming=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"file\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"String\" attribute=\"name\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"perform transformation\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.3\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1 #//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToFile\"\r\n          name=\"b2f\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3 #//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"file\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED000574000E726F6F742E6765744E616D652829\"\r\n            type=\"String\" attribute=\"name\" objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED000574000F726F6F742E676574496E6465782829\"\r\n            type=\"Integer\" attribute=\"index\" objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"bookkeeping for edges\"\r\n      outgoing=\"#//@ownedActivityEdge.4\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0 #//@ownedActivityNode.6/@storyPattern/@linkVariable.3 #//@ownedActivityNode.6/@storyPattern/@linkVariable.6 #//@ownedActivityNode.6/@storyPattern/@linkVariable.9 #//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.2 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.5 #//@ownedActivityNode.6/@storyPattern/@linkVariable.7\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2f\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.8 #//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2n\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.13\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2f__source__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2f__source__board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2f__target__file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.3\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2f__target__file&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"root__file__file\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.6\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.8 #//@ownedActivityNode.6/@storyPattern/@linkVariable.7\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;file&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2n__source__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.9\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2n__source__board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"b2n__target__root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.13 #//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;b2n__target__root&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.7\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"check\"\r\n      outgoing=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.9\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.8\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.8\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.3\"\r\n      guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.6\" target=\"#//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.9\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.4\"\r\n      guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.1\"\r\n      guard=\"END\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.8\" target=\"#//@ownedActivityNode.9\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.7\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getBoardRule__IsAppropriate_BWD_Node_0__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"set success\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.1\" incoming=\"#//@ownedActivityEdge.2\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation\"\r\n          name=\"performOperation\" incomingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1 #//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"SDMLanguage.expressions:ComparisonExpression\"\r\n              operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\"\r\n                value=\"&quot;perform_BWD_Node_0&quot;\"/>\r\n            <leftExpression xsi:type=\"SDMLanguage.patterns.patternExpressions:AttributeValueExpression\"\r\n                object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" attribute=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass\"\r\n          name=\"eClass\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <bindingExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect elements to be translated\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.1 #//@ownedActivityNode.2/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\" name=\"file\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.3\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.1 #//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"root__file__file\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.4\"\r\n          outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.3 #//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;file&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"test core match\"\r\n      outgoing=\"#//@ownedActivityEdge.4 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"BoardRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(root.name, &quot;BOARD&quot;)eq(root.index, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//File\"\r\n          name=\"file\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"file\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"String\" attribute=\"name\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000722424F41524422\"\r\n            type=\"String\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"root\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect context nodes\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" bindingState=\"BOUND\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.4\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.1\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.5\" target=\"#//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.0\"\r\n      guard=\"END\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getFieldRule__Perform_FWD_Field_0__Field(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect translated elements\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0 #//@ownedActivityNode.0/@storyPattern/@linkVariable.1 #//@ownedActivityNode.0/@storyPattern/@linkVariable.2 #//@ownedActivityNode.0/@storyPattern/@linkVariable.3\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"rowNode\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//FieldToNode\"\r\n          name=\"f2n\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"field\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.7\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"solve CSP\"\r\n      outgoing=\"#//@ownedActivityEdge.9\" incoming=\"#//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;Variable&lt;Integer> literal0 = CspFactory.eINSTANCE.createVariable(&quot;literal0&quot;, true, csp);&#xD;&#xA;literal0.setValue(0);&#xD;&#xA;&#xD;&#xA;// Create implicit parameters&#xD;&#xA;Variable&lt;Integer> var_row_y = CspFactory.eINSTANCE.createVariable(&quot;row.y&quot;, true, csp);&#xD;&#xA;var_row_y.setValue(row.getY());&#xD;&#xA;Variable&lt;Integer> var_row_x = CspFactory.eINSTANCE.createVariable(&quot;row.x&quot;, true, csp);&#xD;&#xA;var_row_x.setValue(row.getX());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;Integer> var_rowNode_index = CspFactory.eINSTANCE.createVariable(&quot;rowNode.index&quot;, csp);&#xD;&#xA;Variable&lt;Integer> var_field_index = CspFactory.eINSTANCE.createVariable(&quot;field.index&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;Integer> eq = new Eq&lt;Integer>();Eq&lt;Integer> eq_0 = new Eq&lt;Integer>();Eq&lt;Integer> eq_1 = new Eq&lt;Integer>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;csp.getConstraints().add(eq_1);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.solve(var_row_x,literal0);&#xD;&#xA;eq_0.solve(var_row_y,var_rowNode_index);&#xD;&#xA;eq_1.solve(var_row_x,var_field_index);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"find context\"\r\n      outgoing=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.7\" incoming=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0 #//@ownedActivityNode.3/@storyPattern/@linkVariable.2\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1 #//@ownedActivityNode.3/@storyPattern/@linkVariable.2\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"board\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"y\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"x\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"perform transformation\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3 #//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/MocaTree#//TreeElement/index\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"var_rowNode_index.getValue()\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//FieldToNode\"\r\n          name=\"f2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1 #//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.6\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"field\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/MocaTree#//TreeElement/index\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"var_field_index.getValue()\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.5\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.5 #//@ownedActivityNode.4/@storyPattern/@linkVariable.6\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"board\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.6\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.6\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED000574000A726F772E676574592829\"\r\n            type=\"Integer\" attribute=\"y\" objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED000574000A726F772E676574582829\"\r\n            type=\"Integer\" attribute=\"x\" objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"bookkeeping for edges\"\r\n      outgoing=\"#//@ownedActivityEdge.4\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0 #//@ownedActivityNode.6/@storyPattern/@linkVariable.3 #//@ownedActivityNode.6/@storyPattern/@linkVariable.6 #//@ownedActivityNode.6/@storyPattern/@linkVariable.9 #//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.2 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.11 #//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"f2n\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.7\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"field\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.8 #//@ownedActivityNode.6/@storyPattern/@linkVariable.10\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.13\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2n\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"row__board__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.2 #//@ownedActivityNode.6/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"f2n__source__row\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.3\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;f2n__source__row&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"f2n__target__field\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.6\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.7 #//@ownedActivityNode.6/@storyPattern/@linkVariable.8\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;f2n__target__field&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"field__children__rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.9\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;field__children__rowNode&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"root__children__rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.13 #//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;root__children__rowNode&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"translatedEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"check\"\r\n      outgoing=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.9\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.8\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.8\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.3\"\r\n      guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.6\" target=\"#//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.9\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.4\"\r\n      guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.1\"\r\n      guard=\"END\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.8\" target=\"#//@ownedActivityNode.9\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.7\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getFieldRule__IsAppropriate_FWD_Field_0__Field(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"set success\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.1\" incoming=\"#//@ownedActivityEdge.2\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation\"\r\n          name=\"performOperation\" incomingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1 #//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"SDMLanguage.expressions:ComparisonExpression\"\r\n              operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\"\r\n                value=\"&quot;perform_FWD_Field_0&quot;\"/>\r\n            <leftExpression xsi:type=\"SDMLanguage.patterns.patternExpressions:AttributeValueExpression\"\r\n                object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" attribute=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass\"\r\n          name=\"eClass\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <bindingExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect elements to be translated\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.3\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.1\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"row__board__null\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.3\"\r\n          outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.2 #//@ownedActivityNode.2/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"test core match\"\r\n      outgoing=\"#//@ownedActivityEdge.4 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"board\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"y\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"x\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect context nodes\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"contextElements\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.4\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.1\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.5\" target=\"#//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.0\"\r\n      guard=\"END\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getFieldRule__Perform_BWD_Node_1__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect translated elements\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0 #//@ownedActivityNode.0/@storyPattern/@linkVariable.1 #//@ownedActivityNode.0/@storyPattern/@linkVariable.2 #//@ownedActivityNode.0/@storyPattern/@linkVariable.3\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"rowNode\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//FieldToNode\"\r\n          name=\"f2n\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"field\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"createdElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.7\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"solve CSP\"\r\n      outgoing=\"#//@ownedActivityEdge.9\" incoming=\"#//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;Variable&lt;Integer> literal0 = CspFactory.eINSTANCE.createVariable(&quot;literal0&quot;, true, csp);&#xD;&#xA;literal0.setValue(0);&#xD;&#xA;&#xD;&#xA;// Create implicit parameters&#xD;&#xA;Variable&lt;Integer> var_rowNode_index = CspFactory.eINSTANCE.createVariable(&quot;rowNode.index&quot;, true, csp);&#xD;&#xA;var_rowNode_index.setValue(rowNode.getIndex());&#xD;&#xA;Variable&lt;Integer> var_field_index = CspFactory.eINSTANCE.createVariable(&quot;field.index&quot;, true, csp);&#xD;&#xA;var_field_index.setValue(field.getIndex());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;Integer> var_row_y = CspFactory.eINSTANCE.createVariable(&quot;row.y&quot;, csp);&#xD;&#xA;Variable&lt;Integer> var_row_x = CspFactory.eINSTANCE.createVariable(&quot;row.x&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;Integer> eq = new Eq&lt;Integer>();Eq&lt;Integer> eq_0 = new Eq&lt;Integer>();Eq&lt;Integer> eq_1 = new Eq&lt;Integer>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;csp.getConstraints().add(eq_1);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.solve(var_row_y,var_rowNode_index);&#xD;&#xA;eq_0.solve(var_row_x,var_field_index);&#xD;&#xA;eq_1.solve(var_row_x,literal0);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"find context\"\r\n      outgoing=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.7\" incoming=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0 #//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.3\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"field\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.2\"\r\n          outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.2 #//@ownedActivityNode.3/@storyPattern/@linkVariable.3\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"y\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"x\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"perform transformation\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/BoardGame#//Field/y\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"var_row_y.getValue()\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment attribute=\"http://www.moflon.org/BoardGame#//Field/x\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"var_row_x.getValue()\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3 #//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//FieldToNode\"\r\n          name=\"f2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1 #//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.6\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"field\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.5\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.5 #//@ownedActivityNode.4/@storyPattern/@linkVariable.6\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"board\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.5\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.6\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.6\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"y\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED0005740012726F774E6F64652E676574496E6465782829\"\r\n            type=\"Integer\" attribute=\"index\" objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"x\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED00057400106669656C642E676574496E6465782829\"\r\n            type=\"Integer\" attribute=\"index\" objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"bookkeeping for edges\"\r\n      outgoing=\"#//@ownedActivityEdge.4\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0 #//@ownedActivityNode.6/@storyPattern/@linkVariable.3 #//@ownedActivityNode.6/@storyPattern/@linkVariable.6 #//@ownedActivityNode.6/@storyPattern/@linkVariable.9 #//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.13\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"f2n\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.7\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"field\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.8 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2n\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"row__board__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;row__board__board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"f2n__source__row\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.3\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;f2n__source__row&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"f2n__target__field\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.6\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.7 #//@ownedActivityNode.6/@storyPattern/@linkVariable.8\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;f2n__target__field&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"field__children__rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.9\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.11 #//@ownedActivityNode.6/@storyPattern/@linkVariable.10\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;children&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"root__children__rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.14 #//@ownedActivityNode.6/@storyPattern/@linkVariable.13\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;children&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"check\"\r\n      outgoing=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.9\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.8\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.8\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.3\"\r\n      guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.6\" target=\"#//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.9\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.4\"\r\n      guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.1\"\r\n      guard=\"END\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.8\" target=\"#//@ownedActivityNode.9\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.7\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getFieldRule__IsAppropriate_BWD_Node_1__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"set success\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.1\" incoming=\"#//@ownedActivityEdge.2\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation\"\r\n          name=\"performOperation\" incomingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1 #//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"SDMLanguage.expressions:ComparisonExpression\"\r\n              operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\"\r\n                value=\"&quot;perform_BWD_Node_1&quot;\"/>\r\n            <leftExpression xsi:type=\"SDMLanguage.patterns.patternExpressions:AttributeValueExpression\"\r\n                object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" attribute=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass\"\r\n          name=\"eClass\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <bindingExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect elements to be translated\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.1 #//@ownedActivityNode.2/@storyPattern/@linkVariable.4 #//@ownedActivityNode.2/@storyPattern/@linkVariable.7\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"rowNode\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.3 #//@ownedActivityNode.2/@storyPattern/@linkVariable.6\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"field\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.1 #//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"field__children__rowNode\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.4\"\r\n          outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.3 #//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;children&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.5\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"null__children__rowNode\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.7\"\r\n          outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.6 #//@ownedActivityNode.2/@storyPattern/@linkVariable.5\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;children&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"test core match\"\r\n      outgoing=\"#//@ownedActivityEdge.4 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0 #//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"field\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"y\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"x\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect context nodes\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"contextElements\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.4\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.1\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.5\" target=\"#//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.0\"\r\n      guard=\"END\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getFieldRule__Perform_BWD_Node_2__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect translated elements\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0 #//@ownedActivityNode.0/@storyPattern/@linkVariable.1 #//@ownedActivityNode.0/@storyPattern/@linkVariable.2 #//@ownedActivityNode.0/@storyPattern/@linkVariable.3\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"rowNode\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//FieldToNode\"\r\n          name=\"f2n\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"field\"\r\n          incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"createdElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.7\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"solve CSP\"\r\n      outgoing=\"#//@ownedActivityEdge.9\" incoming=\"#//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;Variable&lt;Integer> literal0 = CspFactory.eINSTANCE.createVariable(&quot;literal0&quot;, true, csp);&#xD;&#xA;literal0.setValue(0);&#xD;&#xA;&#xD;&#xA;// Create implicit parameters&#xD;&#xA;Variable&lt;Integer> var_rowNode_index = CspFactory.eINSTANCE.createVariable(&quot;rowNode.index&quot;, true, csp);&#xD;&#xA;var_rowNode_index.setValue(rowNode.getIndex());&#xD;&#xA;Variable&lt;Integer> var_field_index = CspFactory.eINSTANCE.createVariable(&quot;field.index&quot;, true, csp);&#xD;&#xA;var_field_index.setValue(field.getIndex());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;Integer> var_row_y = CspFactory.eINSTANCE.createVariable(&quot;row.y&quot;, csp);&#xD;&#xA;Variable&lt;Integer> var_row_x = CspFactory.eINSTANCE.createVariable(&quot;row.x&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;Integer> eq = new Eq&lt;Integer>();Eq&lt;Integer> eq_0 = new Eq&lt;Integer>();Eq&lt;Integer> eq_1 = new Eq&lt;Integer>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;csp.getConstraints().add(eq_1);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.solve(var_row_y,var_rowNode_index);&#xD;&#xA;eq_0.solve(var_row_x,var_field_index);&#xD;&#xA;eq_1.solve(var_row_x,literal0);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"find context\"\r\n      outgoing=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.7\" incoming=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0 #//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.3\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"field\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.2\"\r\n          outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.2 #//@ownedActivityNode.3/@storyPattern/@linkVariable.3\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"y\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"x\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"perform transformation\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Field\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/BoardGame#//Field/y\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"var_row_y.getValue()\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment attribute=\"http://www.moflon.org/BoardGame#//Field/x\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"var_row_x.getValue()\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3 #//@ownedActivityNode.4/@storyPattern/@linkVariable.4\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//FieldToNode\"\r\n          name=\"f2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.1 #//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGame#//Board\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0 #//@ownedActivityNode.4/@storyPattern/@linkVariable.6\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"field\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.2\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.5\"\r\n          outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/BoardGameToTreeIntegration#//BoardToNode\"\r\n          name=\"b2n\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.5 #//@ownedActivityNode.4/@storyPattern/@linkVariable.6\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"board\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.4\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.5\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.6\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.6\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.4/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.4/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"y\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED0005740012726F774E6F64652E676574496E6465782829\"\r\n            type=\"Integer\" attribute=\"index\" objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"x\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" bound=\"true\" value=\"ACED00057400106669656C642E676574496E6465782829\"\r\n            type=\"Integer\" attribute=\"index\" objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.9/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"bookkeeping for edges\"\r\n      outgoing=\"#//@ownedActivityEdge.4\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0 #//@ownedActivityNode.6/@storyPattern/@linkVariable.3 #//@ownedActivityNode.6/@storyPattern/@linkVariable.6 #//@ownedActivityNode.6/@storyPattern/@linkVariable.9 #//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"row\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.10 #//@ownedActivityNode.6/@storyPattern/@linkVariable.13\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"f2n\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.7\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"field\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.8 #//@ownedActivityNode.6/@storyPattern/@linkVariable.11\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"root\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.14\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject\"\r\n          name=\"b2n\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"row__board__board\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.0\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.1 #//@ownedActivityNode.6/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;row__board__board&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"f2n__source__row\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.3\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.4 #//@ownedActivityNode.6/@storyPattern/@linkVariable.5\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;f2n__source__row&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"f2n__target__field\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.6\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.7 #//@ownedActivityNode.6/@storyPattern/@linkVariable.8\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;f2n__target__field&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"field__children__rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.9\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.11 #//@ownedActivityNode.6/@storyPattern/@linkVariable.10\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;children&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"root__children__rowNode\" incomingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.12\"\r\n          outgoingLink=\"#//@ownedActivityNode.6/@storyPattern/@linkVariable.14 #//@ownedActivityNode.6/@storyPattern/@linkVariable.13\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;children&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.6\"\r\n          source=\"#//@ownedActivityNode.6/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StatementNode\" name=\"check\"\r\n      outgoing=\"#//@ownedActivityEdge.2 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.9\">\r\n    <statementExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.8\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.8\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//PerformRuleResult\"\r\n          name=\"ruleResult\" bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.3\"\r\n      guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.6\" target=\"#//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.9\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.7\" target=\"#//@ownedActivityNode.4\"\r\n      guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.1\"\r\n      guard=\"END\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.8\" target=\"#//@ownedActivityNode.9\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.7\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
		addAnnotation(
				getFieldRule__IsAppropriate_BWD_Node_2__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<SDMLanguage.activities:Activity xmi:version=\"2.0\"\r\n    xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n    xmlns:SDMLanguage.activities=\"http://www.moflon.org/SDMLanguage.activities\" xmlns:SDMLanguage.expressions=\"http://www.moflon.org/SDMLanguage.expressions\"\r\n    xmlns:SDMLanguage.patterns.patternExpressions=\"http://www.moflon.org/SDMLanguage.patterns.patternExpressions\"\r\n    xmlns:TGGLanguage=\"http://www.moflon.org/TGGLanguage\" xmlns:TGGLanguage.csp=\"http://www.moflon.org/TGGLanguage.csp\"\r\n    xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\">\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"set success\"\r\n      outgoing=\"#//@ownedActivityEdge.3\" incoming=\"#//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.0/@storyPattern/@linkVariable.0\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"prepare return value\"\r\n      outgoing=\"#//@ownedActivityEdge.1\" incoming=\"#//@ownedActivityEdge.2\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation\"\r\n          name=\"performOperation\" incomingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1 #//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"SDMLanguage.expressions:ComparisonExpression\"\r\n              operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\"\r\n                value=\"&quot;perform_BWD_Node_2&quot;\"/>\r\n            <leftExpression xsi:type=\"SDMLanguage.patterns.patternExpressions:AttributeValueExpression\"\r\n                object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" attribute=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.1\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//RuleResult/success\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EClass\"\r\n          name=\"eClass\" outgoingLink=\"#//@ownedActivityNode.1/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\">\r\n        <bindingExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect elements to be translated\"\r\n      outgoing=\"#//@ownedActivityEdge.0\" incoming=\"#//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.1 #//@ownedActivityNode.2/@storyPattern/@linkVariable.4 #//@ownedActivityNode.2/@storyPattern/@linkVariable.7\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"rowNode\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.0 #//@ownedActivityNode.2/@storyPattern/@linkVariable.3 #//@ownedActivityNode.2/@storyPattern/@linkVariable.6\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"field\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.1 #//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"field__children__rowNode\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.4\"\r\n          outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.3 #//@ownedActivityNode.2/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;children&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.5\" bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Edge\"\r\n          name=\"null__children__rowNode\" incomingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.7\"\r\n          outgoingLink=\"#//@ownedActivityNode.2/@storyPattern/@linkVariable.6 #//@ownedActivityNode.2/@storyPattern/@linkVariable.5\"\r\n          bindingOperator=\"CREATE\">\r\n        <attributeAssignment attribute=\"http://www.moflon.org/TGGRuntime#//Edge/name\">\r\n          <valueExpression xsi:type=\"SDMLanguage.expressions:LiteralExpression\" value=\"&quot;children&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.2\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.4\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.5\"\r\n          source=\"#//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"test core match\"\r\n      outgoing=\"#//@ownedActivityEdge.4 #//@ownedActivityEdge.6\" incoming=\"#//@ownedActivityEdge.1 #//@ownedActivityEdge.5\"\r\n      forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"FieldRule\" correspondence=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.2\"\r\n        source=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.0\"\r\n        target=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"\r\n        cspSpec=\"eq(row.y, rowNode.index)eq(row.x, field.index)eq(row.x, 0)\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"rowNode\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0 #//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"field\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\"\r\n          name=\"root\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.1\"\r\n          domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" incomingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.2\"\r\n          bindingOperator=\"CREATE\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//IsAppropriateRuleResult\"\r\n          name=\"ruleResult\" outgoingLink=\"#//@ownedActivityNode.3/@storyPattern/@linkVariable.2\"\r\n          bindingState=\"BOUND\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"children\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.0\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" domain=\"platform:/resource/BoardGameToTreeIntegration/model/BoardGameToTreeIntegration.tgg.xmi#//@domain.1\"/>\r\n      <linkVariable name=\"matches\" target=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.3\"\r\n          source=\"#//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\"/>\r\n      <csp>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.1\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.3\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"#//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 #//@ownedActivityNode.3/@storyPattern/@csp/@variables.4\"\r\n            name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"y\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"rowNode\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"x\"\r\n            objectVariable=\"row\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:ImplicitParameter\" type=\"Integer\" attribute=\"index\"\r\n            objectVariable=\"field\"/>\r\n        <variables xsi:type=\"TGGLanguage.csp:Literal\" bound=\"true\" value=\"ACED000574000130\"\r\n            type=\"Integer\"/>\r\n      </csp>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StoryNode\" name=\"collect context nodes\"\r\n      outgoing=\"#//@ownedActivityEdge.5\" incoming=\"#//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/TGGRuntime#//Match\"\r\n          name=\"match\" outgoingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\"\r\n          bindingState=\"BOUND\"/>\r\n      <objectVariable type=\"ecore:EClass http://www.moflon.org/MocaTree#//Node\" name=\"root\"\r\n          incomingLink=\"#//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\"/>\r\n      <linkVariable name=\"contextElements\" target=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.1\"\r\n          source=\"#//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StartNode\" outgoing=\"#//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"SDMLanguage.activities:StopNode\" incoming=\"#//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"SDMLanguage.patterns.patternExpressions:ObjectVariableExpression\"\r\n        object=\"#//@ownedActivityNode.1/@storyPattern/@objectVariable.1\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.2\" target=\"#//@ownedActivityNode.4\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.1\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.5\" target=\"#//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.0\" target=\"#//@ownedActivityNode.6\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.2\"\r\n      guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.4\" target=\"#//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"#//@ownedActivityNode.3\" target=\"#//@ownedActivityNode.0\"\r\n      guard=\"END\"/>\r\n</SDMLanguage.activities:Activity>\r\n" });
	}

} //RulesPackageImpl
